package com.aop;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface AuditAnnotation {

    /**
     * 审批内容
     */
    String approveContentTemplate() default "";

    /**
     * 审批内容值
     */
    String[] approveContentKey() default {};

    /**
     * 审批内容值
     */
    String[] approveFormId() default {};

    /**
     * 审批内容值
     */
    String[] approveContentValue() default {};

    /**
     * 业务主键
     */
    RiskControlConstants.BizType businessType();

    /**
     * 操作类型
     */
    RiskControlConstants.OperateType operateType();

    /**
     * 邮件内容值
     */
    String[] businessKey() default {};

    /**
     * 返回值类
     */
    Class returnObjectClass() default Void.class;

    /**
     * 返回值
     */
    String returnObjectStr() default "";

    /**
     * 操作人
     */
    String operator() default "";

    /**
     * 任务名称
     */
    String taskName() default "";

}
